<template>
  <div class="box">
    <div class="top">
      <p class="title">实时游客统计</p>
      <p class="bg"></p>
      <p class="right">可预约总量<span>99999</span>人</p>
    </div>
    <div class="number">
      <span v-for="(item, index) in people" :key="index">{{ item }}</span>
    </div>
    <!-- 将来展示图形图表 -->
    <div class="charts" ref="charts"></div>
  </div>
</template>

<script setup lang="ts">
import { ref, onMounted } from 'vue'
import * as echarts from 'echarts'
import 'echarts-liquidfill'

let people = ref('216908人')

//获取节点
let charts = ref()

onMounted(() => {
  //获取echarts类的实例
  let mycharts = echarts.init(charts.value)
  //设置实例的配置项
  mycharts.setOption({
    //布局组件
    grid: {
      left: '0%',
      right: '0%',
      top: '0%',
      bottom: '0%'
      // containLabel: true
    },
    //标题组件
    title: {
      text: '水球图',
      textStyle: {
        color: 'white'
      },
      top: '40',
      left: '40'
    },
    //X轴组件
    xAxis: {},
    //Y轴组件
    yAxis: {},
    //系列组件：决定展示什么样的图形
    series: [
      {
        type: 'liquidFill',
        data: [0.6, 0.4, 0.2],
        waveAnimation: true,
        animationDuration: 3,
        animationDurationUpdate: 3,
        radius: '80%',
        outline: {
          show: true,
          borderDistance: 8,
          itemStyle: {
            color: 'none',
            borderColor: '#294D99',
            borderWidth: 8,
            shadowBlur: 20,
            shadowColor: 'rgba(0, 0, 0, 0.25)'
          }
        }
      }
    ]
  })
})
</script>

<style lang="scss" scoped>
.box {
  background: url(../../images/dataScreen-main-lb.png) no-repeat;
  background-size: 100% 100%;
  margin-top: 10px;

  .top {
    .title {
      color: white;
      font-size: 20px;
    }

    .bg {
      width: 68px;
      height: 7px;
      background: url(../../images/dataScreen-title.png) no-repeat;
      background-size: 100% 100%;
      margin-top: 10px;
    }

    .right {
      float: right;
      color: white;
      font-size: 15px;

      span {
        color: yellowgreen;
      }
    }
  }

  .number {
    margin-top: 35px;
    display: flex;
    padding-left: 40px;
    padding-right: 40px;

    span {
      flex: 1;
      height: 45px;
      text-align: center;
      line-height: 45px;
      background: url(../../images/total.png) no-repeat;
      background-size: 100% 100%;
      color: #29fcff;
      font-size: 18px;
    }
  }

  .charts {
    width: 100%;
    height: 280px;
  }
}
</style>
